/* 条件语句-switch 语句 type-switch 来判断某个 interface 变量中实际存储的变量类型
 *
 * @link: https://www.runoob.com/go/go-switch-statement.html
 */

// 包申明
package main

// 引入包
import (
	"fmt"
)

// 入口函数
func main() {
	var x interface{}

	switch i := x.(type) {
	case nil:
		fmt.Printf(" x 的类型 :%T", i)
	case int:
		fmt.Printf("x 是 int 型")
	case float64:
		fmt.Printf("x 是 float64 型")
	case func(int) float64:
		fmt.Printf("x 是 func(int) 型")
	case bool, string:
		fmt.Printf("x 是 bool 或 string 型")
	default:
		fmt.Printf("未知型")
	}
}

/*
运行结果:
 x 的类型 :<nil>
*/
